This invention relates generally to wide area networks, and more particularly to systems and methods for creating tests to evaluate web sites hosted by web servers coupled to a Transmission Control Protocol/Internet Protocol (TCP/IP) protocol network.
The Internet is a robust, Wide Area Network (WAN) of networks which permits communication among computers, networks, and other digital devices which adhere to a standard “TCP/IP” protocol. One of the most popular ways of communicating over the Internet is through the World Wide Web (WWW) comprising innumerable “web sites”, which are hosted on suitable digital processing machines such as personal computers, workstation, servers, etc. Users or “clients” use, for example, their personal computers to communicate with a web site via a browser program or, simply, “browser.” Currently, the most commonly used browser is the Internet Explorer™ from Microsoft, Inc.
It has become increasingly easy for companies and individuals to create their own web sites. There are a number of commercially available software applications which generate the necessary Hypertext Markup Language (HTML) code to create “web pages” which can be uploaded to web servers connected to the Internet. There are also web sites that can be used to create content for other web sites. Connections to the Internet and web server hosts are often provided by a company known as an Internet Service Provider (ISP).
Since web pages are, essentially, programs written in the HTML language, it is possible that one or more web pages of a web site may contain errors. These errors may only show up intermittently since much of the interaction with the web site can be dynamic, i.e. the interaction can change from session to session. Therefore, a need has arisen for some method to test web sites for errors.
In FIG. 1, a system 10 for testing a web site includes a TCP/IP protocol network, such as the Internet 12, a web server 14 coupled to the Internet 12 by an ISP 16, any number of user or client machines such as client machines 18A, 18B, 18C, etc. coupled to the Internet 12 by ISP's 20A, 20B, 20C, etc., and a testing computer 22 coupled to the Internet 12 by an ISP 24.
In the prior art, software running on the testing computer 22 connects with a web site 26 hosted by the web server 14 through the Internet 12 and attempts to download web pages. Upon a failure to download a web page, the testing computer 22 running this prior art software detects an error.
It should be noted that the depiction of FIG. 1 is logical in nature, and may be implemented in a variety of fashions. For example, the testing computer 22 and the web server 14 can be the same machine. As another example, any of the client machines 18A, 18B, 18C, etc., or the testing computer 22, or the web server 14 can be connected into the Internet 12 in other fashions, such as into the “backbone” of the Internet. Further the Internet 12 is only one example of a network implementing a TCP/IP protocol. Other examples of TCP/IP protocol networks include Intranets and Extranets, as will be appreciated by those skilled in the art.
The testing computers 22 of the prior art include testing software which simulate browser software to the extent that they can download web pages. The successful downloading of a web page in the prior art was usually considered sufficient to determine that the web page was error free. In some instances, prior art testing computers 22 may examine or “parse” the HTML of the downloaded web page to make further determination whether there is an error in the downloaded web page. An example of prior art testing software includes the WhatsUp™ software of IpSwitch, Inc. of Lexington, Mass. This software is capable of testing only a single web page.
Unfortunately, the simple downloading of web pages with, perhaps, a cursory examination of the HTML is often insufficient to determine all the errors that a user might encounter when actually interacting with those web pages. This is due, in part, to the complex interactivity permitted under the HTML standards, and is due, in part, to the fact that many interactions with web pages are “dynamic” in that they may change from session to session. It would therefore be desirable to have a method for creating a test for a web site which can test multiple features of web pages, and which can handle dynamic interactions with the web site.